using System;
 using System.Collections.Generic;
 using System.Text;
 using System.Data;
 using System.Data.SqlClient;
 using MinhTam.DataAccess.Web;
//───────────────────────────────────────────────────────────────────────────────────────
 namespace MinhTam.Objects
  { 
 public class DANH_GIA:  SQLConnectWeb { 
 public static string sTableName= "DANH_GIA"; 
   public string DANH_GIA_ID;
   public string TEN_DANH_GIA;
   public string DIEM;
   #region DataColumn Name ;
 public static  string cl_DANH_GIA_ID="DANH_GIA_ID" ;
 public static  string cl_TEN_DANH_GIA="TEN_DANH_GIA" ;
 public static  string cl_DIEM="DIEM" ;
 #endregion;
//───────────────────────────────────────────────────────────────────────────────────────
       public DANH_GIA() {}
//───────────────────────────────────────────────────────────────────────────────────────
       public DANH_GIA(
         string sDANH_GIA_ID,
         string sTEN_DANH_GIA,
         string sDIEM){
         this.DANH_GIA_ID= sDANH_GIA_ID;
         this.TEN_DANH_GIA= sTEN_DANH_GIA;
         this.DIEM= sDIEM;
}
//───────────────────────────────────────────────────────────────────────────────────────
       public static DANH_GIA Create_DANH_GIA ( string sDANH_GIA_ID  ){
    DataTable dt=SearchByDANH_GIA_ID(sDANH_GIA_ID) ;
    if(dt!=null && dt.Rows.Count>0) 
      return new DANH_GIA(dt,0);
      return null;
}
//───────────────────────────────────────────────────────────────────────────────────────
   private static string s_Select()
    {
   return " SELECT T.* FROM DANH_GIA AS T";
    }
//───────────────────────────────────────────────────────────────────────────────────────
 public DANH_GIA( DataTable table,int pos)
{
         this.DANH_GIA_ID= table.Rows[pos]["DANH_GIA_ID"].ToString();
         this.TEN_DANH_GIA= table.Rows[pos]["TEN_DANH_GIA"].ToString();
         this.DIEM= table.Rows[pos]["DIEM"].ToString();
}
//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable SearchByDANH_GIA_ID(string sDANH_GIA_ID)
{
          string sqlSelect= s_Select()+ " WHERE DANH_GIA_ID  ="+ sDANH_GIA_ID + ""; 
          DataTable dt=GetTable(sqlSelect,sTableName) ;
          return dt; 
 }//───────────────────────────────────────────────────────────────────────────────────────
//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable SearchByDANH_GIA_ID(string sDANH_GIA_ID,string sMatch)
{
          string sqlSelect= s_Select()+ " WHERE DANH_GIA_ID"+ sMatch +sDANH_GIA_ID + ""; 
          DataTable dt=GetTable(sqlSelect,sTableName) ;
          return dt; 
 }//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable SearchByTEN_DANH_GIA(string sTEN_DANH_GIA)
{
          string sqlSelect= s_Select()+ " WHERE TEN_DANH_GIA  Like N'%"+ sTEN_DANH_GIA + "%'"; 
          DataTable dt=GetTable(sqlSelect,sTableName) ;
          return dt; 
 }//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable SearchByDIEM(string sDIEM)
{
          string sqlSelect= s_Select()+ " WHERE DIEM  ="+ sDIEM + ""; 
          DataTable dt=GetTable(sqlSelect,sTableName) ;
          return dt; 
 }//───────────────────────────────────────────────────────────────────────────────────────
//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable SearchByDIEM(string sDIEM,string sMatch)
{
          string sqlSelect= s_Select()+ " WHERE DIEM"+ sMatch +sDIEM + ""; 
          DataTable dt=GetTable(sqlSelect,sTableName) ;
          return dt; 
 }//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable Search( string sDANH_GIA_ID
            , string sTEN_DANH_GIA
            , string sDIEM
            )
 {
       string sqlselect=s_Select() + " WHERE" ;
      if (sDANH_GIA_ID!=null && sDANH_GIA_ID!="") 
            sqlselect +=" AND DANH_GIA_ID =" + sDANH_GIA_ID ;
      if (sTEN_DANH_GIA!=null && sTEN_DANH_GIA!="") 
            sqlselect +=" AND TEN_DANH_GIA LIKE N'%" + sTEN_DANH_GIA +"%'" ;
      if (sDIEM!=null && sDIEM!="") 
            sqlselect +=" AND DIEM =" + sDIEM ;
   sqlselect=sqlselect.Replace("WHERE AND","WHERE");
   int n=sqlselect.IndexOf("WHERE");
   if(n==sqlselect.Length -5) sqlselect=sqlselect.Remove(n,5) ;
   return GetTable(sqlselect,sTableName);
}
//───────────────────────────────────────────────────────────────────────────────────────
 public static DANH_GIA Insert_Object(
string  sDANH_GIA_ID
            ,string  sTEN_DANH_GIA
            ,string  sDIEM
            ) 
 { 
              string tem_sDANH_GIA_ID=MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(sDANH_GIA_ID,"int");
              string tem_sTEN_DANH_GIA=MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(sTEN_DANH_GIA,"nvarchar");
              string tem_sDIEM=MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(sDIEM,"decimal");

             string sqlSave=" INSERT INTO DANH_GIA("+
                   "DANH_GIA_ID," 
        +                   "TEN_DANH_GIA," 
        +                   "DIEM) VALUES("
 +tem_sDANH_GIA_ID+","
 +tem_sTEN_DANH_GIA+","
 +tem_sDIEM +")";
             bool OK = Exec(sqlSave)>=1?true:false;
           if (OK) 
           { 
          DANH_GIA newDANH_GIA= new DANH_GIA();
              newDANH_GIA.DANH_GIA_ID=sDANH_GIA_ID;
              newDANH_GIA.TEN_DANH_GIA=sTEN_DANH_GIA;
              newDANH_GIA.DIEM=sDIEM;
            return newDANH_GIA; 
           } 
           else return null ;
}
//───────────────────────────────────────────────────────────────────────────────────────
public bool  Save_Object(string sDANH_GIA_ID
                ,string sTEN_DANH_GIA
                ,string sDIEM
                ) 
 { 
              string tem_sTEN_DANH_GIA=MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(sTEN_DANH_GIA,"nvarchar");
              string tem_sDIEM=MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(sDIEM,"decimal");

 string sqlSave=" UPDATE DANH_GIA SET "+"TEN_DANH_GIA ="+tem_sTEN_DANH_GIA+","
 +"DIEM ="+tem_sDIEM+" WHERE DANH_GIA_ID="+MinhTam.DataAccess.Web.SQLToolWeb.GetSaveValue(this.DANH_GIA_ID,"int");;
              bool OK = Exec(sqlSave)>=1?true:false;
           if (OK) 
           { 
                this.TEN_DANH_GIA=sTEN_DANH_GIA;
                this.DIEM=sDIEM;
           } 
 return OK;  }
//───────────────────────────────────────────────────────────────────────────────────────
 #region Update DataColumn  
 public bool Update_DANH_GIA_ID(string sDANH_GIA_ID)
{
    string sqlSave= " UPDATE DANH_GIA SET DANH_GIA_ID='"+ sDANH_GIA_ID+ "' WHERE DANH_GIA_ID='"+ this.DANH_GIA_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 if(OK)
 {
    this.DANH_GIA_ID=sDANH_GIA_ID;
 }
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
 public bool Update_TEN_DANH_GIA(string sTEN_DANH_GIA)
{
    string sqlSave= " UPDATE DANH_GIA SET TEN_DANH_GIA='N"+ sTEN_DANH_GIA+ "' WHERE DANH_GIA_ID='"+ this.DANH_GIA_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 if(OK)
 {
    this.TEN_DANH_GIA=sTEN_DANH_GIA;
 }
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
 public bool Update_DIEM(string sDIEM)
{
    string sqlSave= " UPDATE DANH_GIA SET DIEM='"+ sDIEM+ "' WHERE DANH_GIA_ID='"+ this.DANH_GIA_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 if(OK)
 {
    this.DIEM=sDIEM;
 }
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
 #endregion
 #region Update DataColumn  Static 
 public static bool Update_DANH_GIA_ID(string sDANH_GIA_ID,string s_DANH_GIA_ID)
{
  string sqlSave= " UPDATE DANH_GIA SET DANH_GIA_ID='"+sDANH_GIA_ID+"' WHERE DANH_GIA_ID='"+ s_DANH_GIA_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
 public static bool Update_TEN_DANH_GIA(string sTEN_DANH_GIA,string s_DANH_GIA_ID)
{
  string sqlSave= " UPDATE DANH_GIA SET TEN_DANH_GIA='N"+sTEN_DANH_GIA+"' WHERE DANH_GIA_ID='"+ s_DANH_GIA_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
 public static bool Update_DIEM(string sDIEM,string s_DANH_GIA_ID)
{
  string sqlSave= " UPDATE DANH_GIA SET DIEM='"+sDIEM+"' WHERE DANH_GIA_ID='"+ s_DANH_GIA_ID+"' ";
 bool OK=Exec(sqlSave)>=1?true:false;
 return OK;
}
//───────────────────────────────────────────────────────────────────────────────────────
#endregion
//───────────────────────────────────────────────────────────────────────────────────────
 public static DataTable GetTableAll() 
 {
       return  GetTableAll(null, null);
 }
public static DataTable GetTableAll(string sWhere, params string[] orderFields)
{
   string sqlSelect = " SELECT * FROM DANH_GIA";
   if (!string.IsNullOrEmpty(sWhere))
      sqlSelect += " where " + sWhere; 
   string order = "";
   if (orderFields != null && orderFields.Length > 0)
     order = string.Join(",", orderFields);
   if (order != "")
      sqlSelect += " ORDER BY " + order;
   return GetTable(sqlSelect,sTableName);
}
//───────────────────────────────────────────────────────────────────────────────────────
//───────────────────────────────────────────────────────────────────────────────────────
public static DataTable GetTableFields(string sWhere, string[] orderFields, params string[] fields)
{
 string field = "";
 if (fields != null && fields.Length > 0)
    field = string.Join(",", fields);
 else field = "*";
 string sqlSelect = string.Format(" SELECT {0} FROM {1} ", field, "DANH_GIA");
 if (!string.IsNullOrEmpty(sWhere))
    sqlSelect += " where " + sWhere;
 string order = "";
 if (orderFields != null && orderFields.Length > 0)
    order = string.Join(",", orderFields);
 if (order != "")
    sqlSelect += " ORDER BY " + order;
 return GetTable(sqlSelect,sTableName);
 }
 public static DataTable GetTableFields(params string[] fields)
 {
    return GetTableFields(null, null, fields);
 }
 public static DataTable GetTableFields(string[] orderFields, params string[] fields)
 {
    return GetTableFields(null, orderFields, fields);
 }
//───────────────────────────────────────────────────────────────────────────────────────
   private static DataTable dt_DANH_GIA;
   public static bool Change_dt_DANH_GIA = true;
   public static bool AllowAutoChange = true;
   public static DataTable get_DANH_GIA()
   {
   if (dt_DANH_GIA == null || Change_dt_DANH_GIA == true)
     {
   dt_DANH_GIA = GetTableAll();
         Change_dt_DANH_GIA = true && AllowAutoChange ;
     }
     return dt_DANH_GIA;
   }
   //───────────────────────────────────────────────────────────────────────────────────────
}  
 } 
